]> dgit.raspbian.org Git - gnome-shell.git/commitdiff
[ShellGtkEmbed] base this on ClutterX11TexturePixmap, not ClutterGLX
authorDan Winship <danw@gnome.org>
Mon, 20 Sep 2010 15:23:02 +0000 (11:23 -0400)
committerDan Winship <danw@gnome.org>
Thu, 23 Sep 2010 13:49:47 +0000 (09:49 -0400)
As of 1.4, ClutterGLXTexturePixmap is identical to
ClutterX11TexturePixmap (with the differences having been moved into
the cogl layer). So make ShellGtkEmbed use the (introspected) X11
version, which then allows us to make the instance and class structs
public as well.

https://bugzilla.gnome.org/show_bug.cgi?id=608869

src/Makefile.am
src/shell-gtk-embed.c
src/shell-gtk-embed.h

index d17fdb370cfd55d2e132f18be4c3cef01623dc13..c47d834fe1757de489cd5652824a27f7b3d288a8 100644 (file)
@@ -200,6 +200,7 @@ Shell-0.1.gir: $(mutter) $(G_IR_SCANNER) St-1.0.gir libgnome-shell.la Makefile
                --warn-error                            \
                --add-include-path=$(MUTTER_LIB_DIR)/mutter/ \
                --include=Clutter-1.0                   \
+               --include=ClutterX11-1.0                \
                --include=Meta-2.31                     \
                --libtool="$(LIBTOOL)"    \
                --add-include-path=$(builddir)     \
index 0f763bf3a8b79e9095f000edd19b5b4417691145..2c159ae925d524ce5d6cc7a6d7c7383611f5ea9c 100644 (file)
@@ -5,8 +5,6 @@
 #include "shell-embedded-window-private.h"
 #include "gtk-compat.h"
 
-#include <clutter/glx/clutter-glx.h>
-#include <clutter/x11/clutter-x11.h>
 #include <gdk/gdkx.h>
 
 enum {
@@ -15,32 +13,12 @@ enum {
    PROP_WINDOW
 };
 
-typedef struct _ShellGtkEmbedPrivate ShellGtkEmbedPrivate;
-
-/* The reason that the instance/class structures are here is to avoid
- * problems with g-ir-scanner chocking on ClutterGLXTexturePixmap. We
- * stick with having a separate private structure so that we can move
- * the instance/class structures back to the public header if this
- * code is reused in another context where inheritance from C is useful.
- */
-struct _ShellGtkEmbed
-{
-    ClutterGLXTexturePixmap parent;
-
-    ShellGtkEmbedPrivate *priv;
-};
-
-struct _ShellGtkEmbedClass
-{
-    ClutterGLXTexturePixmapClass parent_class;
-};
-
 struct _ShellGtkEmbedPrivate
 {
   ShellEmbeddedWindow *window;
 };
 
-G_DEFINE_TYPE (ShellGtkEmbed, shell_gtk_embed, CLUTTER_GLX_TYPE_TEXTURE_PIXMAP);
+G_DEFINE_TYPE (ShellGtkEmbed, shell_gtk_embed, CLUTTER_X11_TYPE_TEXTURE_PIXMAP);
 
 static void shell_gtk_embed_set_window (ShellGtkEmbed       *embed,
                                         ShellEmbeddedWindow *window);
index d8f4e1dadc495d70d455720a5ee6fcf00574115c..3d20fb09c58c8bd8601fc77a248577d9fad9551a 100644 (file)
@@ -2,7 +2,7 @@
 #ifndef __SHELL_GTK_EMBED_H__
 #define __SHELL_GTK_EMBED_H__
 
-#include <clutter/glx/clutter-glx.h>
+#include <clutter/x11/clutter-x11.h>
 
 #include "shell-embedded-window.h"
 
 
 typedef struct _ShellGtkEmbed        ShellGtkEmbed;
 typedef struct _ShellGtkEmbedClass   ShellGtkEmbedClass;
+typedef struct _ShellGtkEmbedPrivate ShellGtkEmbedPrivate;
+
+struct _ShellGtkEmbed
+{
+    ClutterX11TexturePixmap parent;
+
+    ShellGtkEmbedPrivate *priv;
+};
+
+struct _ShellGtkEmbedClass
+{
+    ClutterX11TexturePixmapClass parent_class;
+};
 
 GType shell_gtk_embed_get_type (void) G_GNUC_CONST;
 ClutterActor *shell_gtk_embed_new (ShellEmbeddedWindow *window);